package com.aorise.service.diagnosis;

import java.util.List;
import java.util.Map;

import com.aorise.model.diagnosis.*;
import com.aorise.utils.page.Page;

import javax.servlet.http.HttpServletResponse;

/**
 * @Author:cat
 * @Desicription: 诊断任务接口服务类
 * @Date:Created in 2019-06-24
 * @Modified By:
 */
public interface DiagnosisReportService {

    /**
     * @Author:cat
     * @Description 分页查询诊断报告信息
     * @params: map 查询条件
     * @params: page 分页
     * @Date:2019-06-26
     * @Return: List<DiagnosisReportModel> 诊断报告信息集合
     * @Modified By:
     */
    List<DiagnosisReportModel> getAllDiagnosisReportListByPage(Map<String, Object> map, Page page);

    /**
     * @Author:cat
     * @Description 根据ID查询诊断报告详情
     * @params: id 主键ID
     * @Date:2019-06-26
     * @Return: DiagnosisReportModel 诊断报告信息
     * @Modified By:
     */
    DiagnosisReportModel getDiagnosisReportById(Integer id);

    /**
     * @Author:cat
     * @Description 分页查询诊断报告明细信息
     * @params: map 查询条件
     * @params: page 分页
     * @Date:2019-06-26
     * @Return: List<ReportCameraModel> 诊断报告明细信息集合
     * @Modified By:
     */
    List<ReportCameraModel> getAllReportCameraListByPage(Map<String, Object> map, Page page);

    /**
     * @Author:cat
     * @Description 导出诊断报告信息
     * @params: map 查询条件
     * @params: response
     * @Date:2019-06-26
     * @Modified By:
     */
    void exportDiagnosisReport(Map<String, Object> map, HttpServletResponse response);

    /**
     * @Author:cat
     * @Description 导出诊断报告详情信息
     * @params: id 报告ID
     * @params: response
     * @Date:2019-06-26
     * @Modified By:
     */
    void exportReportCamera(Integer id, HttpServletResponse response);

    /**
     * @Author:cat
     * @Description 新增诊断报告信息
     * @Date:2019-06-26
     * @Return: Integer 主键
     * @Modified By:
     */
    Integer addDiagnosisReport();

}
